//////////////////////////////////////////////
//        
//		常用的js函数     2015-02-05  ZCC 
//////////////////////////////////////////////

/**
*  去掉左边的所有空格
*/
function L_Trim (s){
  return s.replace( /^\s*/, "");
}

/**
*  去掉右边的所有空格
*/
function R_Trim (s){
  return s.replace( /\s*$/, "");
}

/**
*  去掉两边的所有空格
*/
function Trim (s){
  return R_Trim(L_Trim(s));
}

//或者如下:
function fTrim(str){
	str = str.replace(/(^\s*)/,"");
	str = str.replace(/(\s*$)/,"");
	return str;
}

//得到复选框被选中的个数,boxName复选框名称
function checkBox(theform,boxName){
    var i=0;
	var j=0;
    for(i=0;i<theform.elements.length;i++){
	  if(theform.elements[i].name==boxName&&theform.elements[i].checked==true){
         j++;
	  }
	}
    return j;
  }
  
  
//弹出窗口
function openwindow(url,width,height,top,left){
 window.open(url,"one","top="+top+",left="+left+",width="+width+",height="+height+",scrollbars=yes");
}

//取得下拉菜单的值,从第i项开始
function allSelectValue(source,i){
  var result="";
  for(i=i;i<source.length;i++){
    if(i==1)
      result=source[i].value;
    else
	  result=result+","+source[i].value;
  }
 return result;
}


function selectDate(objID,theform)
{
	var obj = eval('document.'+theform+'.'+objID);
	result = window.showModalDialog('../../js/Calendar.htm',obj.value,'edge:raised;scroll:0;status:0;help:0;resizable:0;dialogWidth=220px;dialogHeight=230px;scroll=0;');
	if (result!=null)
	{
		obj.value = result;
	}
}

function isPhone(str) {
  if(str.length!=7&&str.length!=11){
    return false;
  }
  if (str.search(/^[0-9]*$/) != -1){
    return true;
  }else{
    return false;
  }
}



/**
 *Desc:计算长度，每个汉字占两个长度，英文字符每个占一个长度
 *return:字符串长度(按字节计算)
 */
function strLength(str)
{
	var len = 0;
  	for(var i=0;i<str.length;i++){
	    if(str.charCodeAt(i)>255)
	        len+=2;
	    else
	        len++;
	  }
	return len;
}


/**
 *  计算输入框中的字数  
 *                                                                      
 *  @param field       文本框表单对象
 *  @param countfield  已输入字数提示框对象    
 *  @param maxlimit    最大输入字数限制
 */
function textCounter(field, countfield, maxlimit) {
	if (field.value.length > maxlimit){
 	 field.value = field.value.substring(0,maxlimit);
	}
	countfield.value = field.value.length;
}


//正则表达式方法

function checkRate(input)
{
     var re = /^[0-9]+.?[0-9]*$/;   //判断字符串是否为数字     //判断正整数 /^[1-9]+[0-9]*]*$/   
     if (!re.test(input.rate.value))
    {
        alert("请输入数字(例:0.02)");
        input.rate.focus();
        return false;
     }
}  

//下面为普通函数写法

function BASEisNotNum(theNum)
{
//判断是否为数字
if (Trim(theNum)=="")
    return true;
for(var i=0;i<theNum.length;i++){
   oneNum=theNum.substring(i,i+1);
if (oneNum<"0" || oneNum>"9")
   return true;
}

return false;
}

// 整数判断  整数：返回false; 非整数，返回true ; 
function BASEisNotInt(theInt)
{
//判断是否为整数
theInt=Trim(theInt);
if ((theInt.length>1 && theInt.substring(0,1)=="0") || BASEisNotNum(theInt)){
   return true;
}
   return false;
}

function BASEisNotFloat(theFloat)
{
//判断是否为浮点数
len=theFloat.length;
dotNum=0;
if (len==0)
   return true;
for(var i=0;i<len;i++){
   oneNum=theFloat.substring(i,i+1);
if (oneNum==".")
   dotNum++;
if ( ((oneNum<"0" || oneNum>"9") && oneNum!=".") || dotNum>1)
   return true;
}
if (len>1 && theFloat.substring(0,1)=="0"){
    if (theFloat.substring(1,2)!=".")
       return true;
}
   return false;
} 



function isNum(str)
{
	
	if(str.length==0){
	     return false;
	}
	for(var i=0;i<str.length;i++)
	{
		var oneNum=str.substring(i,i+1);
        if (oneNum<"0" || oneNum>"9"){
            return false;
	    }else{
			continue;	
		}
	}
	return true;
}

function isEmail(strEmail) {
  if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
    return true;
  else
    return false;
}


function isTel(strTel)
{
 if(strTel.search(/(13\d{9}(;13\d{9})*)|(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}(;(\(\d{3,4}\)|\d{3,4}-)?\d{7,8})*/)!=-1){
	 return true;
 }else{
	return false;	 
 }	
}

function isTelephone(strTel)
{
	if(strTel.search(/(@"(\+{0,1}[0-9]{1,7})?\-?[0-9]{1,}\-?[0-9]{7,8}\-?[0-9]{1,}?|(^0{0,1}13[0-9]{9}$)")/)!=-1){
		return true;
	}else{
		return false;	
	}	
}


function isTelephone2(strTel)
{
	if(strTel.search(/(^(\d{2,4}[-_－—]?)?\d{3,8}([-_－—]?\d{3,8})?([-_－—]?\d{1,7})?$)|(^0?1[35]\d{9}$)/)!=-1){
		return true;
	}else{
		return false;
	}	

}


function isNumberAndChar(str)
{
	 if (str.search(/[A-Za-z0-9]/) != -1){
    		return true;
	 }
  	 else{
    		return false;
	 }
}

//判断字符串由数字或字母组成 是:返回true; 否则,返回false 
function checkStr(str){  
	//     [\u4E00-\uFA29]|[\uE7C7-\uE7F3]汉字编码范围
	//var re1 = new RegExp("^([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z0-9])*$");
	var re1 = new RegExp("^([a-zA-Z0-9])*$");
	if (!re1.test(str)){
    	 return false;
	}else{
		  return true;	
	}
	
	
	
}


//指定长度
function checkLength(str,len){  
	
	
	if (str.length==len){
    	 return true;
	}else{
		  return false;	
	}
	
	
	
}


///////////////////////////////////////////////////
///    2007-12-13 laq  整数判断
//////////////////////////////////////////////////

// 是整数：返回true  ;  否则，返回false ; 
function checkInt(str)
{
	var   r   =   /^[0-9]*[1-9][0-9]*$/;//正整数  	
	var   r2  =  /^\d+$/ ;  //非负整数
    if(str.search(r2)!=-1){  //是整数,返回true
	    if(str.substring(0,1)=="0"){ //对0的判断
			if(str.length==1){ //0
				return true;
			}else{ //非0,形如012,015,...
				return false;	
			}
		}
		return true;	
	}else{
		return false;	
	}
}


// 正整数判断  是：返回true; 否则，返回false ; 
function checkPositiveInt(str)
{
	var   r   =   /^[0-9]*[1-9][0-9]*$/;//正整数  	
	var   r2  =  /^\d+$/ ;  //非负整数
    if(str.search(r2)!=-1){  //是整数,返回true
	    if(str.substring(0,1)=="0"){ //对0的判断
			if(str.length==1){ //0
				return false;
			}else{ //非0,形如012,015,...
				return false;	
			}
		}
		return true;	
	}else{
		return false;	
	}
}


///////////////////////////////////////////////////
//////// 2007-12-15 laq  中国固定电话判断
///////////////////////////////////////////////////
/**
 *@param str  : 被测字符串
 *@param regEx: 正则表达式
 *return 匹配:返回true; 否则,返回false
 */
function testRegEx(str,regEx)
{
	if(str.search(regEx)!=-1){
		return true; //匹配
	}else{
		return false; //不匹配
	}
}

/**
 * @param sTel :被测字符串
 * return  是固定电话,返回true; 否则,返回false;
 *
 */
function checkIsTel(sTel)
{
	//三位区号的电话:可以带括号，或者"-"
	var regEx1= /^\(0\d{2}\)[- ]?\d{8}$|^0\d{2}[- ]?\d{8}$/;
	//四位区号的电话:可以带括号，或者"-"
	var regEx2=/^\(0\d{3}\)[- ]?\d{7}$|^0\d{3}[- ]?\d{7}$/;
	//不带区号的七位,或八位固定电话用户
	var regEx3=/^\d{7}$|^\d{8}$/;
	//四位区号的电话:可以带括号，或者"-"
	var regEx4=/^\(0\d{3}\)[- ]?\d{8}$|^0\d{3}[- ]?\d{8}$/;
	
	var iFlag1=testRegEx(sTel,regEx1);
	var iFlag2=testRegEx(sTel,regEx2);
	var iFlag3=testRegEx(sTel,regEx3);
	var iFlag4=testRegEx(sTel,regEx4);
    if(true==iFlag1||true==iFlag2||true==iFlag3||true==iFlag4){
		return true;
	}else{
		return false;
	}
}

/**
 * @param sMobile :被测字符串
 * return  是移动电话,返回true; 否则,返回false;
 *
 */
function checkIsMobile(sMobile)
{

	//13xxxxxxxxx号段
	var regEx1=/^0?13\d{9}$/  ;
	//15xxxxxxxxx号段
	var regEx2=/^0?15\d{9}$/ ;
	//182xxxxxxxx号段
	var regEx3=/^0?182\d{8}$/ ;
	//186xxxxxxxx号段
	var regEx4=/^0?186\d{8}$/ ;
	//187xxxxxxxx号段
	var regEx5=/^0?187\d{8}$/ ;
	//188xxxxxxxx号段
	var regEx6=/^0?188\d{8}$/ ;
	//189xxxxxxxx号段
	var regEx7=/^0?189\d{8}$/ ;
	//145xxxxxxxx号段
	var regEx8=/^0?145\d{8}$/ ;
	//147xxxxxxxx号段
	var regEx9=/^0?147\d{8}$/ ;
	//180xxxxxxxx号段
	var regEx10=/^0?180\d{8}$/ ;
	
	var iFlag1=testRegEx(sMobile,regEx1);
	var iFlag2=testRegEx(sMobile,regEx2);
	var iFlag3=testRegEx(sMobile,regEx3);
	var iFlag4=testRegEx(sMobile,regEx4);
	var iFlag5=testRegEx(sMobile,regEx5);
	var iFlag6=testRegEx(sMobile,regEx6);
	var iFlag7=testRegEx(sMobile,regEx7);
	var iFlag8=testRegEx(sMobile,regEx8);
	var iFlag9=testRegEx(sMobile,regEx9);
	var iFlag10=testRegEx(sMobile,regEx10);
    if(true==iFlag1||true==iFlag2||true==iFlag3||true==iFlag4||true==iFlag5||true==iFlag6||true==iFlag7||true==iFlag8||true==iFlag9||true==iFlag10){
		return true;
	}else{
		return false;
	}
}


/**
 * @param  sPhone   :被测字符串
 * return  是电话号码(固定或移动),返回true; 否则,返回false;
 */
function checkIsPhone(sPhone)
{
	var iFlag1=checkIsTel(sPhone);
	var iFlag2=checkIsMobile(sPhone);
	if(true==iFlag1||true==iFlag2){
		return true;
	}else{
		return false;	
	}
}

	 
//仅允许输入数字 add by laq 2008-11-14 
function checkNumber() {
    //判断输入字符的keyCode，数字在48到57之间，超出部分返回false
    if ((event.keyCode >= 48) && (event.keyCode <= 57)) {
        event.returnValue = true;
    } else {
        event.returnValue = false;
    }
}


function  getBoxValueNew(Name)   
{   
          var   o   =   document.getElementsByTagName('INPUT');
          for(var   i=0;i<o.length;i++)   
          {   
              if(o[i].type=='radio'&&o[i].checked&&o[i].name==Name)   return o[i].value;   
              //if(o[i].type=='checkbox'&&o[i].checked&&o[i].name==Name)   return o[i].value;   
          }
		  return "none";
}

function  getCheckBoxSelectedValueNew(Name)   
{   
	var returnStr="none";		 		
	var   o   =   document.getElementsByTagName('INPUT');
	for(var   i=0;i<o.length;i++)   
	{   
		if(o[i].type=='checkbox'&&o[i].checked&&o[i].name==Name&&o[i].disabled==false)
		{
				returnStr+=","+o[i].value;
				
		}else{
			continue;	
		}   
	}
	
	return returnStr;
}



/**
  *   弹出最大化窗口
      1>sFlag=="0" :用window.open()打开
	    sFlag=="1" :用showModalDialog()打开
	  2>sURL :打开窗口的链接地址
  */
function openMaxWindow(sFlag,sURL){
  var w=window.screen.width-10;
  var h=window.screen.height-40;
  if (sFlag == "0"){
    var sStyle="left=0,top=0,width="+w+"px,height="+(h-40)+"px,scrollbars=yes";
    window.open(sURL,"openNewWindow",sStyle);
  }
  if (sFlag == "1"){
    var sStyle="dialogWidth:"+w+"px;dialogHeight:"+h+"px;center:yes;status:no";
    showModalDialog(sURL,"openNewWindow",sStyle);
    //sArr = sPath.split("?");
    //if ((sArr[0] == "FlowFrame.jsp") && ((0 == 0) || (0 == 2) || ((0 == 3) && (-1 == 0)) || ((0 == 4) && (-1 == 0))))
    window.location.reload();
  }
}



/**
  *   弹出最大化窗口
      1>sFlag=="0" :用window.open()打开
	    sFlag=="1" :用showModalDialog()打开
	  2>sURL :打开窗口的链接地址
  */
function openMaxWindowNew(sFlag,sURL){
  var w=window.screen.width-180;
  var h=window.screen.height-40;
  if (sFlag == "0"){
    var sStyle="left=0,top=0,width="+w+"px,height="+(h-150)+"px,scrollbars=yes";
    window.open(sURL,"openNewWindow",sStyle);
  }
  if (sFlag == "1"){
    var sStyle="dialogWidth:"+w+"px;dialogHeight:"+h+"px;center:yes;status:no";
	sStyle="dialogheight:600px;dialogwidth:500px;center: Yes; help: No; resizable: No; status: No;";
    window.showModalDialog(sURL,"",sStyle);
    //sArr = sPath.split("?");    //if ((sArr[0] == "FlowFrame.jsp") && ((0 == 0) || (0 == 2) || ((0 == 3) && (-1 == 0)) || ((0 == 4) && (-1 == 0))))
    window.location.reload();
  }
}


//正整数判断  2009-04-28 
function checkInteger(str)
{
	var   r   =   /^[0-9]*[1-9][0-9]*$/;//正整数
	if(str.search(r)!=-1){
		return true; //是正整数
	}else{
		return false;	 //不是正整数
	}
	
}


/////////////////////////////////////////////////////////////////////////////////
//全角判断
function   checkIsChinese(str)   
{   
          //如果值为空，通过校验   
          if   (str   ==   "")   {
                  return   true; 
		  }
    
          var   pattern   =   /^([\u4E00-\u9FA5]|[\uFE30-\uFFA0])*$/gi;   
          if   (pattern.test(str))   {
                  return   true;   
		  }
          else{   
                  return   false;   
		  }
}

//////////////////////////////////////////////////////////////////////////////
//可以进行全角->半角的转换.   
  
function   meizz(str)   
{   
          var   tmp   =   "";   
          for(var   i=0;i<str.length;i++)   
          {   
                  if(str.charCodeAt(i)>65248)   
                  {   
                          tmp+=String.fromCharCode(str.charCodeAt(i)-65248);   
                  }   
                  else   
                  {   
                          tmp+=str.charAt(i);   
                  }   
          }   
		  
          return   tmp;   
}   


/**
  * 取得页面上所有选中的复选按钮(复选按钮)的值,用逗号分隔,形成一个字符串,返回此字符串
  */
function  getCheckBoxSelectedValue(Name)   
{   
	var returnStr="0";		 		
	var   o   =   document.getElementsByTagName('INPUT');
	for(var   i=0;i<o.length;i++)   
	{   
		if(o[i].type=='checkbox'&&o[i].checked&&o[i].name==Name)
		{
				returnStr+=","+o[i].value;
				
		}else{
			continue;	
		}   
	}
	
	return returnStr;
}



// 说明：有初始值的 form 表单元素重置(reset)解决方案   2009-05-10 
// 整理：http://www.CodeBit.cn 
function clearForm(formName) { 
    //alert("哈,来重置表单啦.....");
    var formObj = document.forms[formName]; 
	// alert("formObj="+formObj);
    var formEl = formObj.elements; 
	// alert("formE1="+formEl.length);
    for (var i=0; i<formEl.length; i++) 
    { 
        var element = formEl[i]; 
        if (element.type == 'submit') { continue; } 
        if (element.type == 'reset') { continue; } 
        if (element.type == 'button') { continue; } 
        if (element.type == 'hidden') { continue; } 
 
        if (element.type == 'text') { element.value = ''; } 
        if (element.type == 'textarea') { element.value = ''; } 
        if (element.type == 'checkbox') { element.checked = false; } 
        if (element.type == 'radio') { element.checked = false; } 
        if (element.type == 'select-multiple') { element.selectedIndex = -1; } 
        if (element.type == 'select-one') { element.selectedIndex = -1; } 
    } 
	// alert("哈,重置表单啦over! ");
} 


// 说明：有初始值的 form 表单元素重置(reset)解决方案   2009-05-10 
// 整理：http://www.CodeBit.cn 
 
function setElementReadOnly(formName,colorName) { 
    //alert("哈,来表单背景色啦.....");
    var formObj = document.forms[formName]; 
	// alert("formObj="+formObj);
    var formEl = formObj.elements; 
	// alert("formE1="+formEl.length);
    for (var i=0; i<formEl.length; i++) 
    { 
        var element = formEl[i]; 
        if (element.type == 'submit') { continue; } 
        if (element.type == 'reset') { continue; } 
        if (element.type == 'button') { continue; } 
        if (element.type == 'hidden') { continue; } 
 
        if (element.type == 'text') { element.readOnly =true; element.bgColor=colorName; } 
        if (element.type == 'textarea') { element.readOnly =true; element.bgColor=colorName; } 
        if (element.type == 'checkbox') { element.readOnly =true; element.bgColor=colorName; } 
        if (element.type == 'radio') { element.readOnly =true; element.bgColor=colorName; } 
        if (element.type == 'select-multiple') { element.readOnly =true; element.bgColor=colorName;  } 
        if (element.type == 'select-one') { element.readOnly =true; element.bgColor=colorName;  } 
		//alert("哈,来表单背景色over啦~ ");
    } 
	// alert("哈,重置表单啦over! ");
}


/**
 *  过滤列名(Oracle中列名要转为大写,其它的数据库,则默认为给定的列名)
 * @param colName  指定的列名
 * @param isChange 是否需要转为大写  true:要转  false:不需要转
 */
function toFilterColumnName(colName,isChange){
	/**
	if(dbType.toUpperCase()=="ORACLE"){
		colName.toUpperCase();
	}
	*/
	if(true==isChange){  //要转为大写
		colName.toUpperCase();
	}
	return colName;
}



//弹出窗口
function showWindow(sURL){
		 //alert("sURL="+sURL);   
		 var returnValueStr=window.showModalDialog(sURL,window,'help=0;status=0;dialogWidth=400px;dialogHeight=300px;');   
		 return returnValueStr;
}


/**
  *   弹出最大化窗口
      1>sFlag=="0" :用window.open()打开
	    sFlag=="1" :用showModalDialog()打开
	  2>sURL :打开窗口的链接地址
  */
function openEditWindow(sFlag,sURL,sWidth,sHeight){
  var w=window.screen.width-180;
  var h=window.screen.height-40;
  if(sWidth!=""){
	  w=sWidth;
  }
  if(sHeight!=""){
	  h=sHeight;
  }
  if (sFlag == "0"){
    var sStyle="left=0,top=0,location:no,width="+w+"px,height="+(h-150)+"px,scrollbars=yes";
    return window.open(sURL,window,sStyle);
  }
  if (sFlag == "1"){
    var sStyle="dialogWidth:"+w+"px;dialogHeight:"+h+"px;center:yes;status:no;location:no";
	//sStyle="dialogheight:600px;dialogwidth:500px;center: Yes; help: No; resizable: No; status: No;";
    return window.showModalDialog(sURL,window,sStyle);
    //sArr = sPath.split("?");
    //if ((sArr[0] == "FlowFrame.jsp") && ((0 == 0) || (0 == 2) || ((0 == 3) && (-1 == 0)) || ((0 == 4) && (-1 == 0))))
    //window.location.reload();
  }
}




// 全屏打开窗口               
function openFullScreen(){
	  if(1024==screen.width) {
		     openEditWindow("1",url,"1024","768");	
      }  
      else   if(800==screen.width) {
      	    	openEditWindow("1",url,"800","600");	
      }  
      else   if(1280==screen.width) {
      		 openEditWindow("1",url,"1280","800");	
      }
	  else   if(1440==screen.width) {
      		 openEditWindow("1",url,"1440","900");	
      }
}



//url编码转换  
function urlEncode(sStr) {
    return escape(sStr).replace(/\+/g, '%2B').replace(/\"/g,'%22').replace(/\'/g, '%27').replace(/\//g,'%2F');
}

/////////////////////////////////////////////////////////////////////

/**
  * 取得单选按钮(复选按钮)的值
  */
function  getBoxValue(Name)   
{   
          var   o   =   document.getElementsByTagName('INPUT');
          for(var   i=0;i<o.length;i++)   
          {   
              if(o[i].type=='radio'&&o[i].checked&&o[i].name==Name)   return o[i].value;   
              if(o[i].type=='checkbox'&&o[i].checked&&o[i].name==Name)   return o[i].value;   
          }
		  return "none";
}
	  
/**
  * 设置不通过的原因
  */
function setTextEnable(){
	//alert("哈,哈,来设置状态啦....");
   var auditVar=document.getElementById("audit");  //审核权限判断
   if(auditVar.value=="1"){
	    var v=getBoxValue("auditMark");  //审批意见 
  		 if(v=="0"||v=="1"){
    		 pojoAddForm.reason.value="";
     		 pojoAddForm.reason.disabled=true;
  		 }else if(v=="2"){
     		 pojoAddForm.reason.disabled=false;
  		 }
   }
}

//-->

/*
 * 当在多行文本框,敲下回车时,自行换行(不过,可能显示时,会有文字不换行的效果,要进行显示控制! )
 * add by laq 2008-07-03   
 */
function controlKeyEnter(nameStr)
{
	if(event.keyCode==13){ //回车			
		var aObj=document.getElementById(nameStr);
		aObj.value=aObj.value+"\n\r";					
	}	
}

/**
 *   js控制表单中,按Enter键,回车换行(适用于表单中所有的元素)
     说明: 1> 对于多行文本框,不能加 onkeypress="return handleEnter(this, event)",它会自动回车换行
	       2> 此函数放在页面上!!
 */
function handleEnter(field, event) {
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
		if (keyCode == 13) { //回车
			var i;
			for (i = 0; i < field.form.elements.length; i++)
				if (field == field.form.elements[i])
					break;
			i = (i + 1) % field.form.elements.length;
			field.form.elements[i].focus();
			return false;
		} 
		else{
			return true;	
		}
		
}    


/**
    调用样例:
	
<form>
	<input type="text" onkeypress="return handleEnter(this, event)"><br>
	<input type="text" onkeypress="return handleEnter(this, event)"><br>
	<textarea id="aaa" name="aaa" cols="20" rows="30">回车换行</textarea>
</form>

*/

////////////////////////////////////////////////////////////////////////////////////////


//检查是否为任意数（实数） 
function isNumeric(strNumber) { 
		var newPar=/^(- |\+)?\d+(\.\d+)?$/ 
		//alert(newPar.test(strNumber));
		if(newPar.test(strNumber)){
			return true;	
		}else{
			return false;	
		}
} 

//检查是否为正数 
function isUnsignedNumeric(strNumber) { 
	var newPar=/^\d+(\.\d+)?$/ 
	//alert(newPar.test(strNumber));
	if(newPar.test(strNumber)){
		/**
		if(strNumber=="0"){
			return false;
		}
		*/
		//alert(strNumber);
		if(strNumber.substring(0,1)=="0" && strNumber.length>=2 && strNumber.substring(0,2)!="0."){
			return false;
		}
		return true;
	}else{
		return false;	
	}
} 


//检查是否为只有一位小数的的小数，或整数
// 是：返回true; 否则，返回false ;
function isUnsignedNumericOneDecimal(strNumber) { 
	var newPar=/^\d+(\.\d+)?$/ 
	//alert(newPar.test(strNumber));
	if(newPar.test(strNumber)){
		if(strNumber.substring(0,1)=="0" && strNumber.length>=2 && strNumber.substring(0,2)!="0."){
			return false;
		}
		// 判断小数位数    
		var k = strNumber.indexOf(".");
		//alert("k---->"+k);
		if(k > -1){
			//alert("strNumber 长度------>"+strNumber.length);
			var temp = strNumber.length - k - 1 ;
			//alert("temp---->"+temp);
			if(temp > 1){
				return false ; 
			}else{
				return true ; 	
			}
		}
		return true;
	}else{
		return false;	
	}
} 



//检查是否为整数 
function isInteger(strInteger) { 
	var newPar=/^(- |\+)?\d+$/ 
	//alert(newPar.test(strInteger)); 
	if(newPar.test(strInteger)){
		return true;
	}else{
		return false;	
	}
} 

//检查是否为正整数 
function isUnsignedInteger(strInteger) { 
	var newPar=/^\d+$/ 
	//alert(newPar.test(strInteger));
	if(newPar.test(strInteger)){
		return true;
	}else{
		return false;	
	}
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 判断设置题目的总分，与试卷部分比较
function checkTotalScore()
{
	//alert("啊...");
	//   单选      
	var radioLowLevelNum = Trim(pojoAddForm.radioLowLevelNum.value) ; 
	if(isUnsignedNumericOneDecimal(radioLowLevelNum)==false) {
		radioLowLevelNum = 0 ;
	}
	var radioLowLevelScore = Trim(pojoAddForm.radioLowLevelScore.value) ; 
	if(isUnsignedNumericOneDecimal(radioLowLevelScore)==false) {
		radioLowLevelScore = 0 ;
	}
	
	var radioMiddleLevelNum = Trim(pojoAddForm.radioMiddleLevelNum.value) ; 
	if(isUnsignedNumericOneDecimal(radioMiddleLevelNum)==false) {
		radioMiddleLevelNum = 0 ;
	}
	var radioMiddleLevelScore = Trim(pojoAddForm.radioMiddleLevelScore.value) ; 
	if(isUnsignedNumericOneDecimal(radioMiddleLevelScore)==false) {
		radioMiddleLevelScore = 0 ;
	}
	
    var radioHighLevelNum = Trim(pojoAddForm.radioHighLevelNum.value) ; 
	if(isUnsignedNumericOneDecimal(radioHighLevelNum)==false) {
		radioHighLevelNum = 0 ;
	}
	var radioHighLevelScore = Trim(pojoAddForm.radioHighLevelScore.value) ; 
	if(isUnsignedNumericOneDecimal(radioHighLevelScore)==false) {
		radioHighLevelScore = 0 ;
	}
	
	// 多选    
	var checkBoxLowLevelNum = Trim(pojoAddForm.checkBoxLowLevelNum.value) ; 
	if(isUnsignedNumericOneDecimal(checkBoxLowLevelNum)==false) {
		checkBoxLowLevelNum = 0 ;
	}
	var checkBoxLowLevelScore = Trim(pojoAddForm.checkBoxLowLevelScore.value) ; 
	if(isUnsignedNumericOneDecimal(checkBoxLowLevelScore)==false) {
		checkBoxLowLevelScore = 0 ;
	}
	
	var checkBoxMiddleLevelNum = Trim(pojoAddForm.checkBoxMiddleLevelNum.value) ; 
	if(isUnsignedNumericOneDecimal(checkBoxMiddleLevelNum)==false) {
		checkBoxMiddleLevelNum = 0 ;
	}
	var checkBoxMiddleLevelScore = Trim(pojoAddForm.checkBoxMiddleLevelScore.value) ; 
	if(isUnsignedNumericOneDecimal(checkBoxMiddleLevelScore)==false) {
		checkBoxMiddleLevelScore = 0 ;
	}
	
    var checkBoxHighLevelNum = Trim(pojoAddForm.checkBoxHighLevelNum.value) ; 
	if(isUnsignedNumericOneDecimal(checkBoxHighLevelNum)==false) {
		checkBoxHighLevelNum = 0 ;
	}
	var checkBoxHighLevelScore = Trim(pojoAddForm.checkBoxHighLevelScore.value) ; 
	if(isUnsignedNumericOneDecimal(checkBoxHighLevelScore)==false) {
		checkBoxHighLevelScore = 0 ;
	}
	
	//  判断   
	var judgeLowLevelNum = Trim(pojoAddForm.judgeLowLevelNum.value) ; 
	if(isUnsignedNumericOneDecimal(judgeLowLevelNum)==false) {
		judgeLowLevelNum = 0 ;
	}
	var judgeLowLevelScore = Trim(pojoAddForm.judgeLowLevelScore.value) ; 
	if(isUnsignedNumericOneDecimal(judgeLowLevelScore)==false) {
		judgeLowLevelScore = 0 ;
	}
	
	var judgeMiddleLevelNum = Trim(pojoAddForm.judgeMiddleLevelNum.value) ; 
	if(isUnsignedNumericOneDecimal(judgeMiddleLevelNum)==false) {
		judgeMiddleLevelNum = 0 ;
	}
	var judgeMiddleLevelScore = Trim(pojoAddForm.judgeMiddleLevelScore.value) ; 
	if(isUnsignedNumericOneDecimal(judgeMiddleLevelScore)==false) {
		judgeMiddleLevelScore = 0 ;
	}
	
    var judgeHighLevelNum = Trim(pojoAddForm.judgeHighLevelNum.value) ; 
	if(isUnsignedNumericOneDecimal(judgeHighLevelNum)==false) {
		judgeHighLevelNum = 0 ;
	}
	var judgeHighLevelScore = Trim(pojoAddForm.judgeHighLevelScore.value) ; 
	if(isUnsignedNumericOneDecimal(judgeHighLevelScore)==false) {
		judgeHighLevelScore = 0 ;
	}
	
	// 填空   
	var fillLowLevelNum = Trim(pojoAddForm.fillLowLevelNum.value) ; 
	if(isUnsignedNumericOneDecimal(fillLowLevelNum)==false) {
		fillLowLevelNum = 0 ;
	}
	var fillLowLevelScore = Trim(pojoAddForm.fillLowLevelScore.value) ; 
	if(isUnsignedNumericOneDecimal(fillLowLevelScore)==false) {
		fillLowLevelScore = 0 ;
	}
	
	var fillMiddleLevelNum = Trim(pojoAddForm.fillMiddleLevelNum.value) ; 
	if(isUnsignedNumericOneDecimal(fillMiddleLevelNum)==false) {
		fillMiddleLevelNum = 0 ;
	}
	var fillMiddleLevelScore = Trim(pojoAddForm.fillMiddleLevelScore.value) ; 
	if(isUnsignedNumericOneDecimal(fillMiddleLevelScore)==false) {
		fillMiddleLevelScore = 0 ;
	}
	
    var fillHighLevelNum = Trim(pojoAddForm.fillHighLevelNum.value) ; 
	if(isUnsignedNumericOneDecimal(fillHighLevelNum)==false) {
		fillHighLevelNum = 0 ;
	}
	var fillHighLevelScore = Trim(pojoAddForm.fillHighLevelScore.value) ; 
	if(isUnsignedNumericOneDecimal(fillHighLevelScore)==false) {
		fillHighLevelScore = 0 ;
	}
	
	var totalScoreTemp_temp = 0 ;
	totalScoreTemp_temp = parseFloat(radioLowLevelNum)*radioLowLevelScore
	               + parseFloat(radioMiddleLevelNum)*radioMiddleLevelScore
				   + parseFloat(radioHighLevelNum)*radioHighLevelScore
				   + parseFloat(checkBoxLowLevelNum)*checkBoxLowLevelScore
				   + parseFloat(checkBoxMiddleLevelNum)*checkBoxMiddleLevelScore
				   + parseFloat(checkBoxHighLevelNum)*checkBoxHighLevelScore
				   + parseFloat(judgeLowLevelNum)*judgeLowLevelScore
				   + parseFloat(judgeMiddleLevelNum)*judgeMiddleLevelScore
				   + parseFloat(judgeHighLevelNum)*judgeHighLevelScore
				   + parseFloat(fillLowLevelNum)*fillLowLevelScore
				   + parseFloat(fillMiddleLevelNum)*fillMiddleLevelScore
				   + parseFloat(fillHighLevelNum)*fillHighLevelScore
				   ;
	
	var totalQuestionNumTemp = 0 ;  // 总的题目数  
	totalQuestionNumTemp = parseInt(radioLowLevelNum) 
		                     + parseInt(radioMiddleLevelNum)
							 + parseInt(radioHighLevelNum)
							 + parseInt(checkBoxLowLevelNum)
							 + parseInt(checkBoxMiddleLevelNum)
							 + parseInt(checkBoxHighLevelNum)
							 + parseInt(judgeLowLevelNum)
							 + parseInt(judgeMiddleLevelNum)
							 + parseInt(judgeHighLevelNum)
							 + parseInt(fillLowLevelNum)
							 + parseInt(fillMiddleLevelNum)
							 + parseInt(fillHighLevelNum) 
							 ;
	pojoAddForm.totalQuestionNum.value = 	totalQuestionNumTemp ; 		
	
	//totalScoreTemp = parseFloat(totalScoreTemp).toFixed(1);
	totalScoreTemp_temp = parseFloat(totalScoreTemp_temp);
	pojoAddForm.totalScoreTemp.value = totalScoreTemp_temp ;
	
	var totalScore = parseFloat(Trim(pojoAddForm.totalScore.value));
	//      alert("totalScore ---->"+totalScore);
	if(totalScoreTemp_temp > totalScore){
		//alert("题目总分值，已超过试卷总分，请重新调整题目分值! ");
		return 1 ;  // 设置分值 > 总分
	}
	else if(totalScoreTemp_temp == totalScore){
				 
		                     
		return 0 ; 	  // 设置分值 == 总分
	}
	else if(totalScoreTemp_temp < totalScore){
		
		return -1 ;  // 设置分值 < 总分  	
	}
}


// js 生成时间不重复随机数 
function rand(number)
{
    rnd.today=new Date();
    rnd.seed=rnd.today.getTime();
    function rnd()
    {
        rnd.seed = (rnd.seed*9301+49297) % 233280;
        return rnd.seed/(233280.0);
    };
    return Math.ceil(rnd()*number);
}; 


function RunTime(o)
{
     var TimeDifference = new Date() - new Date(o.innerText.replace(/-/g,"/"));
     (function ()
     {
         var d = new Date();
         d.setTime(d.getTime()+TimeDifference);
         o.innerText = d.toLocaleString();
         setTimeout(arguments.callee,1000);
     })();
}


//  在JS中时常会用到时间转换，通过下面方法可以将毫秒转换成“天：时：分：秒”的格式。
//  对此方法进行稍修改后还可以转换成其他格式。 
function format(ms) {//将毫秒数换算成x天x时x分x秒x毫秒
   var ss = 1000;
   var mi = ss * 60;
   var hh = mi * 60;
   var dd = hh * 24;

   var day = ms / dd;
   var hour = (ms - day * dd) / hh;
   var minute = (ms - day * dd - hour * hh) / mi;
   var second = (ms - day * dd - hour * hh - minute * mi) / ss;
   var milliSecond = ms - day * dd - hour * hh - minute * mi - second * ss;

   var strDay = day < 10 ? "0" + day : "" + day;
   var strHour = hour < 10 ? "0" + hour : "" + hour;
   var strMinute = minute < 10 ? "0" + minute : "" + minute;
   var strSecond = second < 10 ? "0" + second : "" + second;
   var strMilliSecond = milliSecond < 10 ? "0" + milliSecond : "" + milliSecond;
   strMilliSecond = milliSecond < 100 ? "0" + strMilliSecond : "" + strMilliSecond;
   return strDay + " " + strHour + ":" + strMinute + ":" + strSecond + " " + strMilliSecond;
}

//检查开始时间是否大于结束时间
function checkTime(startTime,endTime)
{
	var re=/-/g;
 	var start = parseInt(startTime.replace(re,""));
  	var end = parseInt(endTime.replace(re,""));
  	if(start>end){
	  	return true;
  	}
  	return false;
}

/**
 * 计算两个时间的时间差, 时间格式为：年-月-日 小时:分钟:秒	或 年/月/日 小时:分钟:秒
 * 如 yyyy-MM-dd hh:mm:ss or  yyyy/MM/dd hh:mm:ss
 * 返回精度：秒，分，小时，天
 * @param startTime
 * @param endTime
 * @param diffType
 */
function diffTwoDate(startTime, endTime, diffType) {
	startTime = startTime.replace(/\-/g, "/");
	endTime = endTime.replace(/\-/g, "/");
	
	diffType = diffType.toLowerCase();
	var sTime = new Date(startTime);
	var eTime = new Date(endTime);
	
	var divNum = 1;
	switch(diffType) {
	case "second":
		divNum = 1000;
		break;
	case "minute":
		divNum = 1000 * 60;
		break;
	case "hour":
		divNum = 1000 * 60 * 60;
		break;
	case "day":
		divNum = 1000 * 60 * 60 * 24;
		break;
	default:
		break;
	}
	
	return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(divNum));
}

/**
 * 获得Table所有内容，并将内容拼装成字符串
 * @param data1
 * @returns {String}
 */
function getTableData(data1) {
	var row = data1.rows;
	var row_size = row.length;
	//var cols = data1.cols;
	var str = new String("");
	var i = 0;
	var j = 0;
	for (i; i < row_size; i++) {
		var cols = data1.rows[i].cells.length;
		for (j = 0; j < cols; j++) {
			/* if (j == cols - 1)
				str = str.concat("\"" + data1.rows[i].cells[j].innerText + "\"_$_");
			else
				str = str.concat("\"" + data1.rows[i].cells[j].innerText + "\","); */
			if (j == cols - 1)
				str = str.concat(data1.rows[i].cells[j].innerText + "_$_");
			else
				str = str.concat(data1.rows[i].cells[j].innerText + ",");
		}
	}
	return str;
}